<?php
// app/Model/User.php
class User extends AppModel {
    public $name = 'User';
    public $validate = array(
        'username' => array(
            'usernameRule-1' => array(
                'rule' => array('notEmpty'),
                'message' => 'Insira um nome de usuário'
            ),
            'usernameRule-2' => array(
                'rule' => array('minLength', 2),
                'message' => 'O nome de usuário tem que ter no mínimo dois caracteres'
            ),
            'usernameRule-3' => array(
                'rule' => array('maxLength', 50),
                'message' => 'O nome de usuário tem que ter menos do que cinquenta caracteres'
            ),
            'usernameRule-4' => array(
                'rule' => 'isUnique',
                'message' => 'Este nome de usuário já está cadastrado'
            )
        ),
        'password' => array(
            'requiredRule-1' => array(
                'rule' => array('notEmpty'),
                'message' => 'Insira uma senha'
            ),
            'requiredRule-2' => array(
                'rule' => array('minLength', 6),
                'message' => 'A senha tem que ter no mínimo 6 caracteres'
            ),
            'requiredRule-3' => array(
                'rule' => array('maxLength', 50),
                'message' => 'A senha pode ter no máximo 50 caracteres'
            )
        ),
        'role' => array(
            'valid' => array(
                'rule' => array('inList', array('admin', 'author')),
                'message' => 'Por favo, entre com uma regra válida',
                'allowEmpty' => false
            )
        ),
        'nickname' => array(
            'nicknameRule-1' => array(
                'rule' => array('notEmpty'),
                'message' => 'Insira um nickname(apelido)'
            ),
            'nicknameRule-2' => array(
                'rule' => array('minLength', 2),
                'message' => 'O nickname tem que ter no mínimo dois caracteres'
            ),
            'nicknameRule-3' => array(
                'rule' => array('maxLength', 50),
                'message' => 'O nickname tem que ter menos do que cinquenta caracteres'
            ),
            'nicknameRule-4' => array(
                'rule' => 'isUnique',
                'message' => 'Nickname em uso'
            )
        ),
        'email' => array(
            'required' => array(
                'rule' => array('email', true),
                'message' => 'Insira uma email válido'
            )
        )
    );
    public function beforeSave() {
    if (isset($this->data[$this->alias]['password'])) {
        $this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
    }
    return true;
    }
}